Ext.define('MelhorCompra.view.ContatoForm', {
    extend: 'Ext.form.Panel',
    xtype: 'contatoform',

    config: {
        title: 'Form',
        cls: 'form',

        items: [{
            html: '<div style="text-align: center; margin-top: 10px"><img src="./resources/img/logo.png" /></div>'
        },{
            xtype: 'fieldset',
            title: 'Contato',
            instructions: 'Preencha todos os campos.',
            
            items: [
                {
                    id: 'nome',
                    xtype: 'textfield',
                    label: 'Nome',
                    name: 'nome'
                },
                {
                    xtype: 'emailfield',
                    label: 'Email',
                    name: 'email'
                },
                {
                    xtype: 'textfield',
                    label: 'Assunto',
                    name: 'assunto'
                },
                {
                    xtype: 'textareafield',
                    label: 'Mensagem',
                    name: 'mensagem',
                    height: 90
                },
                {   xtype: 'hiddenfield',
                    name: 'origem',
                    value: 'App melhorcompra Android'
                }
            ]
        },{
            xtype: 'toolbar',
            docked: 'top',
            layout: {pack: 'center'},
            defaults: {
                iconMask: true
            },
            items: [
                {
                    xtype: 'button',
                    iconCls: 'more',
                    iconMask: true,
                    action: 'exibirMenuLateral'
                },{
                    xtype: 'spacer'
                },{
                    xtype: 'button',
                    text: 'Limpar',
                    iconCls: 'refresh',
                    handler: function() {
                        this.up('formpanel').reset();
                    }
                },{
                    xtype: 'button',
                    text: 'Enviar',
                    ui: 'confirm',
                    iconCls: 'compose',

                    // The handler is called when the button is tapped
                    handler: function() {
                        var form = this.up('contatoform');
                        var model = Ext.create('MelhorCompra.model.ContatoModel', form.getValues());
                        var errors = model.validate();
                        var message = "";
                        if(errors.isValid()){
                            Ext.Ajax.request({
                                
                                /*PROD*/
                                url: 'http://data.mobfacil.com/contato/index.php',
                                /*DEV*/
                                /*url: 'http://localhost/data/contato/index.php',*/

                                method: 'post',
                                cors: true,

                                params: form.getValues(),
                                success: function(response, opts) {
                                    var obj = Ext.decode(response.responseText);
                                    if(obj.success == 1) {
                                        form.reset();
                                        Ext.Msg.alert('MobFacil.com', "Obrigado pelo contato. Responderemos o mais breve possível");
                                    } else {
                                        for(var i = 0; i < obj.erros.length; i++) {
                                            message += obj.erros[i];
                                        }
                                        Ext.Msg.alert('ERRO - MobFacil.com', message);
                                    }
                                },
                                failure: function(response, opts) {
                                    Ext.Msg.alert('ERRO - MobFacil.com', "Sem acesso, tente novamente mais tarde.");
                                }
                            });
                        } else {
                            Ext.each(errors.items, function(rec){
                               message += rec.getMessage();
                            });
                            Ext.Msg.alert('ERRO - MobFacil.com', message);
                        }
                    }
                }
            ]
        }],

        listeners: {
            show: function(form, opts){
                Ext.Function.defer(function() {
                   form.down('#nome').focus();
                }, 200);
            }
        }
    }
});